<?xml version="1.0" encoding="utf-8"?>
<xs:schema xmlns:ser="http://schemas.microsoft.com/2003/10/Serialization/" xmlns:tns="http://schemas.datacontract.org/2004/07/KillBill.Business.Entities" elementFormDefault="qualified" targetNamespace="http://schemas.datacontract.org/2004/07/KillBill.Business.Entities" xmlns:xs="http://www.w3.org/2001/XMLSchema">
  <xs:import schemaLocation="http://localhost:3129/AdministrationService.svc?xsd=xsd3" namespace="http://schemas.datacontract.org/2004/07/KillBill.Services.DTO" />
  <xs:import schemaLocation="http://localhost:3129/AdministrationService.svc?xsd=xsd1" namespace="http://schemas.microsoft.com/2003/10/Serialization/" />
  <xs:complexType name="ArrayOfCustomer">
    <xs:sequence>
      <xs:element minOccurs="0" maxOccurs="unbounded" name="Customer" nillable="true" type="tns:Customer" />
    </xs:sequence>
  </xs:complexType>
  <xs:element name="ArrayOfCustomer" nillable="true" type="tns:ArrayOfCustomer" />
  <xs:complexType name="Customer">
    <xs:complexContent mixed="false">
      <xs:extension xmlns:q1="http://schemas.datacontract.org/2004/07/KillBill.Services.DTO" base="q1:KillBillDTO">
        <xs:sequence>
          <xs:element minOccurs="0" name="ChangeTracker" nillable="true" type="tns:ObjectChangeTracker" />
          <xs:element minOccurs="0" name="CustomerID" nillable="true" type="xs:string" />
          <xs:element minOccurs="0" name="CustomerRUC" nillable="true" type="xs:string" />
          <xs:element minOccurs="0" name="IsActive" type="xs:boolean" />
          <xs:element minOccurs="0" name="Person" nillable="true" type="tns:Person" />
          <xs:element minOccurs="0" name="Reference" nillable="true" type="xs:string" />
          <xs:element minOccurs="0" name="SalesHeader" nillable="true" type="tns:ArrayOfSalesHeader" />
        </xs:sequence>
      </xs:extension>
    </xs:complexContent>
  </xs:complexType>
  <xs:element name="Customer" nillable="true" type="tns:Customer" />
  <xs:complexType name="ObjectChangeTracker">
    <xs:sequence>
      <xs:element minOccurs="0" name="ExtendedProperties" nillable="true" type="tns:ExtendedPropertiesDictionary" />
      <xs:element minOccurs="0" name="ObjectsAddedToCollectionProperties" nillable="true" type="tns:ObjectsAddedToCollectionProperties" />
      <xs:element minOccurs="0" name="ObjectsRemovedFromCollectionProperties" nillable="true" type="tns:ObjectsRemovedFromCollectionProperties" />
      <xs:element minOccurs="0" name="OriginalValues" nillable="true" type="tns:OriginalValuesDictionary" />
      <xs:element minOccurs="0" name="State" type="tns:ObjectState" />
    </xs:sequence>
    <xs:attribute ref="ser:Id" />
    <xs:attribute ref="ser:Ref" />
  </xs:complexType>
  <xs:element name="ObjectChangeTracker" nillable="true" type="tns:ObjectChangeTracker" />
  <xs:complexType name="ExtendedPropertiesDictionary">
    <xs:annotation>
      <xs:appinfo>
        <IsDictionary xmlns="http://schemas.microsoft.com/2003/10/Serialization/">true</IsDictionary>
      </xs:appinfo>
    </xs:annotation>
    <xs:sequence>
      <xs:element minOccurs="0" maxOccurs="unbounded" name="ExtendedProperties">
        <xs:complexType>
          <xs:sequence>
            <xs:element name="Name" nillable="true" type="xs:string" />
            <xs:element name="ExtendedProperty" nillable="true" type="xs:anyType" />
          </xs:sequence>
        </xs:complexType>
      </xs:element>
    </xs:sequence>
  </xs:complexType>
  <xs:element name="ExtendedPropertiesDictionary" nillable="true" type="tns:ExtendedPropertiesDictionary" />
  <xs:complexType name="ObjectsAddedToCollectionProperties">
    <xs:annotation>
      <xs:appinfo>
        <IsDictionary xmlns="http://schemas.microsoft.com/2003/10/Serialization/">true</IsDictionary>
      </xs:appinfo>
    </xs:annotation>
    <xs:sequence>
      <xs:element minOccurs="0" maxOccurs="unbounded" name="AddedObjectsForProperty">
        <xs:complexType>
          <xs:sequence>
            <xs:element name="CollectionPropertyName" nillable="true" type="xs:string" />
            <xs:element name="AddedObjects" nillable="true" type="tns:ObjectList" />
          </xs:sequence>
        </xs:complexType>
      </xs:element>
    </xs:sequence>
  </xs:complexType>
  <xs:element name="ObjectsAddedToCollectionProperties" nillable="true" type="tns:ObjectsAddedToCollectionProperties" />
  <xs:complexType name="ObjectList">
    <xs:sequence>
      <xs:element minOccurs="0" maxOccurs="unbounded" name="ObjectValue" nillable="true" type="xs:anyType" />
    </xs:sequence>
  </xs:complexType>
  <xs:element name="ObjectList" nillable="true" type="tns:ObjectList" />
  <xs:complexType name="ObjectsRemovedFromCollectionProperties">
    <xs:annotation>
      <xs:appinfo>
        <IsDictionary xmlns="http://schemas.microsoft.com/2003/10/Serialization/">true</IsDictionary>
      </xs:appinfo>
    </xs:annotation>
    <xs:sequence>
      <xs:element minOccurs="0" maxOccurs="unbounded" name="DeletedObjectsForProperty">
        <xs:complexType>
          <xs:sequence>
            <xs:element name="CollectionPropertyName" nillable="true" type="xs:string" />
            <xs:element name="DeletedObjects" nillable="true" type="tns:ObjectList" />
          </xs:sequence>
        </xs:complexType>
      </xs:element>
    </xs:sequence>
  </xs:complexType>
  <xs:element name="ObjectsRemovedFromCollectionProperties" nillable="true" type="tns:ObjectsRemovedFromCollectionProperties" />
  <xs:complexType name="OriginalValuesDictionary">
    <xs:annotation>
      <xs:appinfo>
        <IsDictionary xmlns="http://schemas.microsoft.com/2003/10/Serialization/">true</IsDictionary>
      </xs:appinfo>
    </xs:annotation>
    <xs:sequence>
      <xs:element minOccurs="0" maxOccurs="unbounded" name="OriginalValues">
        <xs:complexType>
          <xs:sequence>
            <xs:element name="Name" nillable="true" type="xs:string" />
            <xs:element name="OriginalValue" nillable="true" type="xs:anyType" />
          </xs:sequence>
        </xs:complexType>
      </xs:element>
    </xs:sequence>
  </xs:complexType>
  <xs:element name="OriginalValuesDictionary" nillable="true" type="tns:OriginalValuesDictionary" />
  <xs:simpleType name="ObjectState">
    <xs:list>
      <xs:simpleType>
        <xs:restriction base="xs:string">
          <xs:enumeration value="Unchanged" />
          <xs:enumeration value="Added" />
          <xs:enumeration value="Modified" />
          <xs:enumeration value="Deleted" />
        </xs:restriction>
      </xs:simpleType>
    </xs:list>
  </xs:simpleType>
  <xs:element name="ObjectState" nillable="true" type="tns:ObjectState" />
  <xs:complexType name="Person">
    <xs:complexContent mixed="false">
      <xs:extension xmlns:q2="http://schemas.datacontract.org/2004/07/KillBill.Services.DTO" base="q2:KillBillDTO">
        <xs:sequence>
          <xs:element minOccurs="0" name="Address" nillable="true" type="xs:string" />
          <xs:element minOccurs="0" name="ChangeTracker" nillable="true" type="tns:ObjectChangeTracker" />
          <xs:element minOccurs="0" name="Customer" nillable="true" type="tns:Customer" />
          <xs:element minOccurs="0" name="Email" nillable="true" type="xs:string" />
          <xs:element minOccurs="0" name="Employee" nillable="true" type="tns:Employee" />
          <xs:element minOccurs="0" name="FirstName" nillable="true" type="xs:string" />
          <xs:element minOccurs="0" name="LastName" nillable="true" type="xs:string" />
          <xs:element minOccurs="0" name="ModifiedDate" type="xs:dateTime" />
          <xs:element minOccurs="0" name="PersonID" nillable="true" type="xs:string" />
          <xs:element minOccurs="0" name="Phone" nillable="true" type="xs:string" />
          <xs:element minOccurs="0" name="Provider" nillable="true" type="tns:ArrayOfProvider" />
        </xs:sequence>
      </xs:extension>
    </xs:complexContent>
  </xs:complexType>
  <xs:element name="Person" nillable="true" type="tns:Person" />
  <xs:complexType name="Employee">
    <xs:complexContent mixed="false">
      <xs:extension xmlns:q3="http://schemas.datacontract.org/2004/07/KillBill.Services.DTO" base="q3:KillBillDTO">
        <xs:sequence>
          <xs:element minOccurs="0" name="ChangeTracker" nillable="true" type="tns:ObjectChangeTracker" />
          <xs:element minOccurs="0" name="EmployeeID" nillable="true" type="xs:string" />
          <xs:element minOccurs="0" name="EmployeeRole" nillable="true" type="tns:EmployeeRole" />
          <xs:element minOccurs="0" name="EmployeeRoleID" nillable="true" type="xs:string" />
          <xs:element minOccurs="0" name="IsActive" type="xs:boolean" />
          <xs:element minOccurs="0" name="Password" nillable="true" type="xs:string" />
          <xs:element minOccurs="0" name="Person" nillable="true" type="tns:Person" />
          <xs:element minOccurs="0" name="SalesHeader" nillable="true" type="tns:ArrayOfSalesHeader" />
        </xs:sequence>
      </xs:extension>
    </xs:complexContent>
  </xs:complexType>
  <xs:element name="Employee" nillable="true" type="tns:Employee" />
  <xs:complexType name="EmployeeRole">
    <xs:complexContent mixed="false">
      <xs:extension xmlns:q4="http://schemas.datacontract.org/2004/07/KillBill.Services.DTO" base="q4:KillBillDTO">
        <xs:sequence>
          <xs:element minOccurs="0" name="ChangeTracker" nillable="true" type="tns:ObjectChangeTracker" />
          <xs:element minOccurs="0" name="Description" nillable="true" type="xs:string" />
          <xs:element minOccurs="0" name="Employee" nillable="true" type="tns:ArrayOfEmployee" />
          <xs:element minOccurs="0" name="EmployeeRoleID" nillable="true" type="xs:string" />
        </xs:sequence>
      </xs:extension>
    </xs:complexContent>
  </xs:complexType>
  <xs:element name="EmployeeRole" nillable="true" type="tns:EmployeeRole" />
  <xs:complexType name="ArrayOfEmployee">
    <xs:sequence>
      <xs:element minOccurs="0" maxOccurs="unbounded" name="Employee" nillable="true" type="tns:Employee" />
    </xs:sequence>
  </xs:complexType>
  <xs:element name="ArrayOfEmployee" nillable="true" type="tns:ArrayOfEmployee" />
  <xs:complexType name="SalesHeader">
    <xs:complexContent mixed="false">
      <xs:extension xmlns:q5="http://schemas.datacontract.org/2004/07/KillBill.Services.DTO" base="q5:KillBillDTO">
        <xs:sequence>
          <xs:element minOccurs="0" name="ChangeTracker" nillable="true" type="tns:ObjectChangeTracker" />
          <xs:element minOccurs="0" name="Customer" nillable="true" type="tns:Customer" />
          <xs:element minOccurs="0" name="CustomerID" nillable="true" type="xs:string" />
          <xs:element minOccurs="0" name="Employee" nillable="true" type="tns:Employee" />
          <xs:element minOccurs="0" name="EmployeeID" nillable="true" type="xs:string" />
          <xs:element minOccurs="0" name="ModifiedDate" type="xs:dateTime" />
          <xs:element minOccurs="0" name="SalesDetail" nillable="true" type="tns:ArrayOfSalesDetail" />
          <xs:element minOccurs="0" name="SalesHeaderID" type="xs:int" />
          <xs:element minOccurs="0" name="SubTotal" type="xs:decimal" />
          <xs:element minOccurs="0" name="TaxAmount" type="xs:decimal" />
        </xs:sequence>
      </xs:extension>
    </xs:complexContent>
  </xs:complexType>
  <xs:element name="SalesHeader" nillable="true" type="tns:SalesHeader" />
  <xs:complexType name="ArrayOfSalesDetail">
    <xs:sequence>
      <xs:element minOccurs="0" maxOccurs="unbounded" name="SalesDetail" nillable="true" type="tns:SalesDetail" />
    </xs:sequence>
  </xs:complexType>
  <xs:element name="ArrayOfSalesDetail" nillable="true" type="tns:ArrayOfSalesDetail" />
  <xs:complexType name="SalesDetail">
    <xs:complexContent mixed="false">
      <xs:extension xmlns:q6="http://schemas.datacontract.org/2004/07/KillBill.Services.DTO" base="q6:KillBillDTO">
        <xs:sequence>
          <xs:element minOccurs="0" name="ChangeTracker" nillable="true" type="tns:ObjectChangeTracker" />
          <xs:element minOccurs="0" name="ModifiedDate" type="xs:dateTime" />
          <xs:element minOccurs="0" name="OrderDate" type="xs:dateTime" />
          <xs:element minOccurs="0" name="OrderQty" type="xs:int" />
          <xs:element minOccurs="0" name="Product" nillable="true" type="tns:Product" />
          <xs:element minOccurs="0" name="ProductID" type="xs:int" />
          <xs:element minOccurs="0" name="SalesHeader" nillable="true" type="tns:SalesHeader" />
          <xs:element minOccurs="0" name="SalesHeaderID" type="xs:int" />
          <xs:element minOccurs="0" name="UnitPrice" type="xs:decimal" />
        </xs:sequence>
      </xs:extension>
    </xs:complexContent>
  </xs:complexType>
  <xs:element name="SalesDetail" nillable="true" type="tns:SalesDetail" />
  <xs:complexType name="Product">
    <xs:complexContent mixed="false">
      <xs:extension xmlns:q7="http://schemas.datacontract.org/2004/07/KillBill.Services.DTO" base="q7:KillBillDTO">
        <xs:sequence>
          <xs:element minOccurs="0" name="ChangeTracker" nillable="true" type="tns:ObjectChangeTracker" />
          <xs:element minOccurs="0" name="Description" nillable="true" type="xs:string" />
          <xs:element minOccurs="0" name="ICETax" type="xs:double" />
          <xs:element minOccurs="0" name="IVAApplied" type="xs:boolean" />
          <xs:element minOccurs="0" name="IsActive" type="xs:boolean" />
          <xs:element minOccurs="0" name="LastPrice" type="xs:decimal" />
          <xs:element minOccurs="0" name="ModifiedDate" type="xs:dateTime" />
          <xs:element minOccurs="0" name="Name" nillable="true" type="xs:string" />
          <xs:element minOccurs="0" name="ProductID" type="xs:int" />
          <xs:element minOccurs="0" name="Provider" nillable="true" type="tns:Provider" />
          <xs:element minOccurs="0" name="ProviderID" type="xs:int" />
          <xs:element minOccurs="0" name="PurchaseDetail" nillable="true" type="tns:ArrayOfPurchaseDetail" />
          <xs:element minOccurs="0" name="SalesDetail" nillable="true" type="tns:ArrayOfSalesDetail" />
          <xs:element minOccurs="0" name="Stock" type="xs:int" />
          <xs:element minOccurs="0" name="StockMax" type="xs:int" />
          <xs:element minOccurs="0" name="StockMin" type="xs:int" />
        </xs:sequence>
      </xs:extension>
    </xs:complexContent>
  </xs:complexType>
  <xs:element name="Product" nillable="true" type="tns:Product" />
  <xs:complexType name="Provider">
    <xs:complexContent mixed="false">
      <xs:extension xmlns:q8="http://schemas.datacontract.org/2004/07/KillBill.Services.DTO" base="q8:KillBillDTO">
        <xs:sequence>
          <xs:element minOccurs="0" name="ChangeTracker" nillable="true" type="tns:ObjectChangeTracker" />
          <xs:element minOccurs="0" name="ContactID" nillable="true" type="xs:string" />
          <xs:element minOccurs="0" name="IsActive" type="xs:boolean" />
          <xs:element minOccurs="0" name="ModifiedDate" type="xs:dateTime" />
          <xs:element minOccurs="0" name="Name" nillable="true" type="xs:string" />
          <xs:element minOccurs="0" name="Person" nillable="true" type="tns:Person" />
          <xs:element minOccurs="0" name="Product" nillable="true" type="tns:ArrayOfProduct" />
          <xs:element minOccurs="0" name="ProviderID" type="xs:int" />
          <xs:element minOccurs="0" name="ProviderRUC" nillable="true" type="xs:string" />
          <xs:element minOccurs="0" name="PurchaseHeader" nillable="true" type="tns:ArrayOfPurchaseHeader" />
        </xs:sequence>
      </xs:extension>
    </xs:complexContent>
  </xs:complexType>
  <xs:element name="Provider" nillable="true" type="tns:Provider" />
  <xs:complexType name="ArrayOfProduct">
    <xs:sequence>
      <xs:element minOccurs="0" maxOccurs="unbounded" name="Product" nillable="true" type="tns:Product" />
    </xs:sequence>
  </xs:complexType>
  <xs:element name="ArrayOfProduct" nillable="true" type="tns:ArrayOfProduct" />
  <xs:complexType name="ArrayOfPurchaseHeader">
    <xs:sequence>
      <xs:element minOccurs="0" maxOccurs="unbounded" name="PurchaseHeader" nillable="true" type="tns:PurchaseHeader" />
    </xs:sequence>
  </xs:complexType>
  <xs:element name="ArrayOfPurchaseHeader" nillable="true" type="tns:ArrayOfPurchaseHeader" />
  <xs:complexType name="PurchaseHeader">
    <xs:complexContent mixed="false">
      <xs:extension xmlns:q9="http://schemas.datacontract.org/2004/07/KillBill.Services.DTO" base="q9:KillBillDTO">
        <xs:sequence>
          <xs:element minOccurs="0" name="ChangeTracker" nillable="true" type="tns:ObjectChangeTracker" />
          <xs:element minOccurs="0" name="ModifiedDate" type="xs:dateTime" />
          <xs:element minOccurs="0" name="Provider" nillable="true" type="tns:Provider" />
          <xs:element minOccurs="0" name="ProviderID" type="xs:int" />
          <xs:element minOccurs="0" name="PurchaseDetail" nillable="true" type="tns:ArrayOfPurchaseDetail" />
          <xs:element minOccurs="0" name="PurchaseHeaderID" type="xs:int" />
          <xs:element minOccurs="0" name="SubTotal" type="xs:decimal" />
          <xs:element minOccurs="0" name="TaxAmount" type="xs:decimal" />
        </xs:sequence>
      </xs:extension>
    </xs:complexContent>
  </xs:complexType>
  <xs:element name="PurchaseHeader" nillable="true" type="tns:PurchaseHeader" />
  <xs:complexType name="ArrayOfPurchaseDetail">
    <xs:sequence>
      <xs:element minOccurs="0" maxOccurs="unbounded" name="PurchaseDetail" nillable="true" type="tns:PurchaseDetail" />
    </xs:sequence>
  </xs:complexType>
  <xs:element name="ArrayOfPurchaseDetail" nillable="true" type="tns:ArrayOfPurchaseDetail" />
  <xs:complexType name="PurchaseDetail">
    <xs:complexContent mixed="false">
      <xs:extension xmlns:q10="http://schemas.datacontract.org/2004/07/KillBill.Services.DTO" base="q10:KillBillDTO">
        <xs:sequence>
          <xs:element minOccurs="0" name="ChangeTracker" nillable="true" type="tns:ObjectChangeTracker" />
          <xs:element minOccurs="0" name="ModifiedDate" type="xs:dateTime" />
          <xs:element minOccurs="0" name="OrderDate" type="xs:dateTime" />
          <xs:element minOccurs="0" name="OrderQty" type="xs:int" />
          <xs:element minOccurs="0" name="Product" nillable="true" type="tns:Product" />
          <xs:element minOccurs="0" name="ProductID" type="xs:int" />
          <xs:element minOccurs="0" name="PurchaseHeader" nillable="true" type="tns:PurchaseHeader" />
          <xs:element minOccurs="0" name="PurchaseHeaderID" type="xs:int" />
          <xs:element minOccurs="0" name="UnitPrice" type="xs:decimal" />
        </xs:sequence>
      </xs:extension>
    </xs:complexContent>
  </xs:complexType>
  <xs:element name="PurchaseDetail" nillable="true" type="tns:PurchaseDetail" />
  <xs:complexType name="ArrayOfSalesHeader">
    <xs:sequence>
      <xs:element minOccurs="0" maxOccurs="unbounded" name="SalesHeader" nillable="true" type="tns:SalesHeader" />
    </xs:sequence>
  </xs:complexType>
  <xs:element name="ArrayOfSalesHeader" nillable="true" type="tns:ArrayOfSalesHeader" />
  <xs:complexType name="ArrayOfProvider">
    <xs:sequence>
      <xs:element minOccurs="0" maxOccurs="unbounded" name="Provider" nillable="true" type="tns:Provider" />
    </xs:sequence>
  </xs:complexType>
  <xs:element name="ArrayOfProvider" nillable="true" type="tns:ArrayOfProvider" />
  <xs:complexType name="Parameter">
    <xs:complexContent mixed="false">
      <xs:extension xmlns:q11="http://schemas.datacontract.org/2004/07/KillBill.Services.DTO" base="q11:KillBillDTO">
        <xs:sequence>
          <xs:element minOccurs="0" name="ChangeTracker" nillable="true" type="tns:ObjectChangeTracker" />
          <xs:element minOccurs="0" name="Name" nillable="true" type="xs:string" />
          <xs:element minOccurs="0" name="ParameterID" nillable="true" type="xs:string" />
          <xs:element minOccurs="0" name="Value" nillable="true" type="xs:string" />
        </xs:sequence>
      </xs:extension>
    </xs:complexContent>
  </xs:complexType>
  <xs:element name="Parameter" nillable="true" type="tns:Parameter" />
  <xs:complexType name="ArrayOfEmployeeRole">
    <xs:sequence>
      <xs:element minOccurs="0" maxOccurs="unbounded" name="EmployeeRole" nillable="true" type="tns:EmployeeRole" />
    </xs:sequence>
  </xs:complexType>
  <xs:element name="ArrayOfEmployeeRole" nillable="true" type="tns:ArrayOfEmployeeRole" />
</xs:schema>